package com.elmcode.server.vo;

import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

public class CartVo {

    private BigDecimal totalPrice;//购物车的总价格

    private Integer totalNum;//购物车中商品总数量

    private Integer countType;//购物车中商品的类型个数

     List<CartItemVo> cartItemVos;

    public List<CartItemVo> getCartItemVos() {
        return cartItemVos;
    }

    public void setCartItemVos(List<CartItemVo> cartItemVos) {
        this.cartItemVos = cartItemVos;
    }

    /**
     * 获取购物车的所有价格
     * @return
     */
    public BigDecimal getTotalPrice() {
        BigDecimal count = new BigDecimal("0");
        for (CartItemVo itemVo : cartItemVos) {
            BigDecimal multiply = itemVo.getPrice().multiply(new BigDecimal(itemVo.getCount()));
            count = count.add(multiply);
        }
        return count;
    }

    /**
     * 获取购物车中的菜品总数量
     * @return
     */
    public Integer getTotalNum() {
        Integer count = 0;
        for (CartItemVo itemVo : cartItemVos) {
            count += itemVo.getCount();
        }
        return count;
    }

    /**
     * 获取购物车中的购物项类型
     * @return
     */
    public Integer getCountType() {
        return cartItemVos.size();
    }
}
